home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / knowhow4 / khquerry.cpp < prev    next >
C/C++ Source or Header  |  1994-10-10  |  2KB  |  63 lines

  1. #include "khquerry.h"
  2. #include "khpxeerr.h"
  3.  
  4. KH_QUERRY::KH_QUERRY(char** q, char** e,
  5.              char* c, int numOfColumns)
  6.     {
  7.     int numQ = 0;                          // Number of querried fields
  8.     querryNumbers = new int[255];
  9.     querry = new KH_STRTABLE(0, NULL);
  10.  
  11.     for(int i = 0; i < numOfColumns; i++)
  12.     if(q[i][0] != '\0')
  13.         {
  14.         querryNumbers[numQ] = i;
  15.         querry->add(q[i]);
  16.         numQ++;
  17.        }
  18.     querryNumbers[numQ] = -1;
  19.  
  20.     querryNumbers = (int*)realloc(querryNumbers, numQ * sizeof(int*) + 2);
  21.  
  22.     int numE = 0;                          // Number of querried fields
  23.     exampleNumbers = new int[255];
  24.     examples = new KH_STRTABLE(0, NULL);
  25.     for(i = 0; i < numOfColumns; i++)
  26.     if(e[i][0] != '\0')
  27.         {
  28.         exampleNumbers[numE] = i;
  29.         examples->add(e[i]);
  30.         numE++;
  31.         }
  32.     exampleNumbers[numE] = -1;
  33.     exampleNumbers = (int*)realloc(exampleNumbers, numE * sizeof(int*) + 2);
  34.  
  35.     if(c != NULL)
  36.     {
  37.     int numC = 0;                          // Number of querried fields
  38.     checkedFields = new int[255];
  39.     for(int i = 0; i < numOfColumns; i++)
  40.         if(c[i] != QFREE)
  41.         {
  42.         checkedFields[numC] = c[i];
  43.         numC++;
  44.         }
  45.     checkedFields =
  46.         (int*)realloc(checkedFields, numC * sizeof(int*) + 2);
  47.     }
  48.     else
  49.     checkedFields = NULL;
  50.     khPxErr = 0;
  51.     }
  52. ////////////////////////////
  53. KH_QUERRY::~KH_QUERRY()
  54.     {
  55.     delete querry;
  56.     delete examples;
  57.     delete querryNumbers;
  58.     delete exampleNumbers;
  59.  
  60.     delete checkedFields;
  61.     }
  62.  
  63.